home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
utils
/
desktop
/
nodsk301.lzh
/
ARCDRV
/
WARC.H
< prev
Wrap
C/C++ Source or Header
|
1994-12-07
|
3KB
|
92 lines
/*==================================================================*/
/* */
/* noDesk - Der no|Soft-Desktop */
/* */
/* Version 3.0 */
/* */
/* written 1989-1993 by */
/* Andreas Fahrig Ralph Mertens Christian Stamm */
/* */
/* (c)1989-92 by DesaSoft GbR, all Rights reserved */
/* (c)1993 by no|Soft GmbH, all Rights reserved */
/* */
/*==================================================================*/
/* */
/* Dies ist die WARC-Definitions-Datei */
/* */
/*==================================================================*/
#ifndef MAXPATHLEN
# define MAXPATHLEN 128
#endif
#define WARC_MAGIC "noDeskAr"
#if !defined(IN_LSWIND)
# define Obj_Types void
# define OBJECT void
#endif
/*
* EXIT - Codes der Treiber
*/
#define DE_OK 0 /* Konvertierung erfolgreich */
#define DE_BADFILE 2 /* falscher Datei-Typ */
#define DE_TOOMUCH 1 /* zu viele Dateien im Archiv */
#define DE_DRERROR 3 /* Fehler im Treiber */
#define DE_TXTERROR 4 /* Fehler Text in buf */
typedef struct {
unsigned char attrib; /* Datei-Attribute */
unsigned char level; /* Ordnertiefe (ROOT = 0) */
int ref_no; /* bei level>0 physcnt des Vaters, */
/* sonst 0 */
int physcnt; /* Laufende Nummer ab 1 */
char fname[14]; /* Dateiname */
Time_Date t_d; /* Datei-Datum und -Zeit */
unsigned long orig_len; /* Dateigröße entpackt */
unsigned long packed_len; /* Dateigröße gepackt */
/* Alle folgenden Elemente sind nur für noDesk relevant und sollten */
/* daher von Treibern ignoriert werden */
char suffix[4];
bool sel;
unsigned flags;
OBJECT *obP;
Obj_Types *otP;
} Warc_File;
typedef struct {
char magic[8]; /* muß WARC_MAGIC sein RO */
char *arc_name; /* Datei-Name des Archivs RO */
char *bin_dirs; /* Bin-Dir-Liste RO */
char *tmp_dir; /* Tmp-Dir RO */
int buf_size; /* Größe des Puffers in Elems RW */
Warc_File *buf; /* Pointer auf den Puffer WO */
} Warc_Info;
/*
* RO: ReadOnly Der Treiber darf nur lesend zugreifen
* RW: ReadWrite Werte, die geändert werden dürfen, bzw. müssen
* WO: WriteOnly Speicherbereiche, in die der Treiber schreiben
* kann und die initial keine Werte enthalten
*
* Näheres zu Warc_Info:
* bin_dirs zeigt auf Pfade (durch ';' getrennt), in der,
* wenn nötig, das Archivprogram stehen muß
* tmp_dir zeigt auf einen Pfad, welcher bei Verwendung von
* Temporärdateien verwendet werden muß
* buf_size enthält bei Treiberstart die Anzahl an Warc_File
* Einträgen, referenziert über buf. Bei erfolgreichem
* Ende schreibt der Treiber dort die Anzahl an
* gefundenen Einträgen hinein.
* buf ist ein Pointer auf einem Puffer von max.
* buf_size Warc_File-Einträgen.
*/
#if !defined(IN_LSWIND)
# undef Obj_Types
# undef OBJECT
#endif